/*
 * Copyright (c) 2008 Benoit Bouchez, Nicolas Giard
 * 
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 * 
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 * 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 * SOFTWARE.
 */
package com.noocodecommit.wicket.stuff.jquery.plugin.effects.bounce;

import com.noocodecommit.wicket.stuff.jquery.plugin.JQPluginOptions;

/**
 * JQuery Effects Bounce Animation options set
 * 
 * @author Benoit Bouchez
 * 
 */
public class JQBounceOptions extends JQPluginOptions
{
	/** Up direction value */
	public static String DIRECTION_UP = "up";
	/** Down direction value */
	public static String DIRECTION_DOWN = "down";
	/** Left direction value */
	public static String DIRECTION_LEFT = "left";
	/** Right direction value */
	public static String DIRECTION_RIGHT = "right";
	/** Default distance value */
	public static int DISTANCE_DEFAULT = 20;
	/** Default times value */
	public static int TIMES_DEFAULT = 5;
	/** Default speed value */
	public static int SPEED_DEFAULT = 250;

	/** Direction */
	private String direction = DIRECTION_UP;
	/** Distance */
	private int distance = DISTANCE_DEFAULT;
	/** Times */
	private int times = TIMES_DEFAULT;
	/** Speed */
	private int speed = SPEED_DEFAULT;

	/**
	 * Constructor
	 */
	public JQBounceOptions()
	{
		super();
	}

	/**
	 * Gets the direction value
	 * 
	 * @return the direction value
	 */
	public String getDirection()
	{
		return direction;
	}

	/**
	 * Sets the direction option value
	 * 
	 * @param direction
	 *            bounce direction
	 */
	public void setDirection(String direction)
	{
		this.direction = direction;
		this.options.put("direction", "direction:'" + direction + "'");
	}

	/**
	 * Gets the distance value
	 * 
	 * @return the distance value
	 */
	public int getDistance()
	{
		return distance;
	}

	/**
	 * Sets the distance option value
	 * 
	 * @param distance
	 *            bounce distance
	 */
	public void setDistance(int distance)
	{
		this.distance = distance;
		this.options.put("distance", "distance:" + distance);
	}

	/**
	 * Gets the times value
	 * 
	 * @return the times value
	 */
	public int getTimes()
	{
		return times;
	}

	/**
	 * Sets the times option value
	 * 
	 * @param times
	 *            bounce times
	 */
	public void setTimes(int times)
	{
		this.times = times;
		this.options.put("times", "times:" + times);
	}

	/**
	 * Gets the speed value
	 * 
	 * @return the speed value
	 */
	public int getSpeed()
	{
		return speed;
	}

	/**
	 * Sets the speed option value
	 * 
	 * @param speed
	 *            bounce speed
	 */
	public void setSpeed(int speed)
	{
		this.speed = speed;
		this.options.put("speed", "speed:" + speed);
	}
}
